/**
 * @param {number[]} tasks
 * @return {number}
 */

var minimumRounds = function (tasks) {
    let len = tasks.length
    let map = new Map()
    let res = 0
    for (let i = 0; i < len; i++) {
        if (!map.has(tasks[i])) {
            map.set(tasks[i], 1)
        } else {
            map.set(tasks[i], map.get(tasks[i]) + 1)
        }
    }
    for (let item of map.entries()) {
        let amount = item[1]
        if (amount < 2) {
            return -1
        }
        // 如果能被3整除 就看需要几次 如果不能 不论是2 还是其他的数字 计算它的次数
        res += amount % 3 == 0 ? Math.floor(amount / 3) : Math.floor(amount / 3) + 1
    }
    return res
};
minimumRounds([2, 2, 3, 3, 2, 4, 4, 4, 4, 4])